Skip to content

Conversation

@mjheilmann
Copy link
Collaborator

@mjheilmann mjheilmann commented Nov 29, 2025

This is an attempt to resolve the circular recursion case, in this PR:

  1. Rework the state to store the descriptor once, so symbols reference a filename instead of holding a duplicate descriptor
  2. Some state simplification, making some operations stricter
  3. Add a function that shrinks the state by combining cycles

When files participate in a cycle, causing the reflection tree to instead be a graph, we combine those participating file descriptors into a single descriptor.

  • minimal change from each-module-as-a-file
  • clients should now resolve schemas that contain cycles

@mjheilmann mjheilmann force-pushed the feature/cleanup_and_recursion branch from 4a2adc2 to 8333e21 Compare December 5, 2025 03:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants